﻿
using Admin.NET.Core;
namespace Admin.NET.Plugin.ApprovalFlow;

/// <summary>
/// 审批流程发起表
/// </summary>
[SugarTable("approval_info","审批流程发起表")]
public class ApprovalInfo  : EntityTenant
{
    /// <summary>
    /// 表单ID 属于那个表单
    /// </summary>
    [SugarColumn(ColumnName = "Flow_id", ColumnDescription = "表单ID 属于那个表单", Length = 50)]
    public string? Flow_id { get; set; }
    
    /// <summary>
    /// 发起人
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "founder", ColumnDescription = "发起人", Length = 255)]
    public string founder { get; set; }
    
    /// <summary>
    /// 发起时间
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "launch_time", ColumnDescription = "发起时间")]
    public DateTime launch_time { get; set; }
    
    /// <summary>
    /// 是否结束流程[1是]
    /// </summary>
    [SugarColumn(ColumnName = "end_state", ColumnDescription = "是否结束流程[1是]")]
    public bool? end_state { get; set; }
    
    /// <summary>
    /// 流程结束时间
    /// </summary>
    [SugarColumn(ColumnName = "end_time", ColumnDescription = "流程结束时间")]
    public DateTime? end_time { get; set; }
    
    /// <summary>
    /// 关联某条数据
    /// </summary>
    [SugarColumn(ColumnName = "object_id", ColumnDescription = "关联某条数据", Length = 255)]
    public string? object_id { get; set; }
    
    /// <summary>
    /// 用来记录整个流程进行到那个节点
    /// </summary>
    [SugarColumn(ColumnName = "process_progress", ColumnDescription = "用来记录整个流程进行到那个节点")]
    public int? process_progress { get; set; }
    
    /// <summary>
    /// 记录历史经历节点,英文逗号分隔0,1,2,1,2,3 最后一个值和当前节点同步
    /// </summary>
    [SugarColumn(ColumnName = "record_node_history", ColumnDescription = "记录历史经历节点,英文逗号分隔0,1,2,1,2,3 最后一个值和当前节点同步", Length = 255)]
    public string? record_node_history { get; set; }
    
}
